// pages/orderDetail/orderDetail.js
import { getWorkOrderDetail } from '@/api/orderListApi'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orderDetailInfo: {},
    timer: null
  },

  /* 时间戳转换为时间 */
  timestampToTime(timestamp) {
    timestamp = timestamp ? timestamp : null;
    let date = new Date(timestamp);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
    let Y = date.getFullYear() + '年';
    let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
    let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '号 ';
    let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
    let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
    let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
    return Y + M + D + h + m + s;
  },

  // 计算两时间戳相差时间
  timeDiffer(t1, t2) {
    let timeDiff = t2 - t1
    // 计算剩余天数
    const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24));
    // 计算剩余小时
    const hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    // 计算剩余分钟
    const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60));
    // 计算剩余秒数
    const seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
    return `${days}天${hours}小${minutes}分${seconds}秒`
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const { obj_id } = options
    getWorkOrderDetail({ obj_id }).then((res) => {
      let startTime = this.timestampToTime(res.data.workOderStartTime)
      let endTime = this.timestampToTime(res.data.workOderEndTime)
      res.data.startTime = startTime
      res.data.endTime = endTime

      this.data.timer = setInterval(() => {
        let currentStamp = Date.now()
        if (currentStamp >= endTime) {
          res.data.textType = '已过期'
          let overDue = this.timeDiffer(res.data.workOderEndTime, currentStamp)
          console.log('过期时间：', overDue);
          res.data.timeCha = overDue
        } else {
          res.data.textType = '剩余时间'
          let shengyu = this.timeDiffer(currentStamp, res.data.workOderEndTime)
          console.log('剩余时间', shengyu);
          res.data.timeCha = shengyu
        }

        this.setData({ orderDetailInfo: res.data })

      }, 1000);


    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    clearInterval(this.data.timer)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})